home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / sun / NET / SMTP / SmtpPrintStream.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  1.1 KB  |  77 lines

  1. package sun.net.smtp;
  2.  
  3. import java.io.IOException;
  4. import java.io.OutputStream;
  5. import java.io.PrintStream;
  6.  
  7. class SmtpPrintStream extends PrintStream {
  8.    private SmtpClient target;
  9.    private int lastc = 10;
  10.  
  11.    SmtpPrintStream(OutputStream var1, SmtpClient var2) {
  12.       super(var1);
  13.       this.target = var2;
  14.    }
  15.  
  16.    public void close() {
  17.       if (this.target != null) {
  18.          if (this.lastc != 10) {
  19.             this.write(13);
  20.             this.write(10);
  21.          }
  22.  
  23.          try {
  24.             this.target.issueCommand(".\r\n", 250);
  25.             this.target.message = null;
  26.             super.out = null;
  27.             this.target = null;
  28.          } catch (IOException var1) {
  29.          }
  30.       }
  31.    }
  32.  
  33.    public void write(int var1) {
  34.       try {
  35.          if (this.lastc == 10 && var1 == 46) {
  36.             super.out.write(46);
  37.          }
  38.  
  39.          super.out.write(var1);
  40.          this.lastc = var1;
  41.       } catch (IOException var2) {
  42.       }
  43.    }
  44.  
  45.    public void write(byte[] var1, int var2, int var3) {
  46.       try {
  47.          int var4 = this.lastc;
  48.  
  49.          while(true) {
  50.             --var3;
  51.             if (var3 < 0) {
  52.                this.lastc = var4;
  53.                return;
  54.             }
  55.  
  56.             byte var5 = var1[var2++];
  57.             if (var4 == 10 && var5 == 46) {
  58.                super.out.write(46);
  59.             }
  60.  
  61.             super.out.write(var5);
  62.             var4 = var5;
  63.          }
  64.       } catch (IOException var6) {
  65.       }
  66.    }
  67.  
  68.    public void print(String var1) {
  69.       int var2 = var1.length();
  70.  
  71.       for(int var3 = 0; var3 < var2; ++var3) {
  72.          this.write(var1.charAt(var3));
  73.       }
  74.  
  75.    }
  76. }
  77.